import axios from "axios";

const baseURL="http://localhost:8080";

const taskRequest={

    loadTaskByProjectId(task,projectId,parentId=0,callBack){
        let url = baseURL + "/task/list?projectId=" + projectId + "&parentId=" + parentId;
        console.log(task)
        if(task){
            if(task.userId){
                url += "&userId=" + task.userId;
            }
            if(task.taskTitle){
                url += "&taskTitle=" + task.taskTitle;
            }
            if(task.taskStatus){
                url += "&taskStatus=" + task.taskStatus;
            }
            if(task.startTimeBegin){
                url += "&startTimeBegin="+task.startTimeBegin;
            }
            if(task.startTimeEnd){
                url += "&startTimeEnd="+task.startTimeEnd;
            }
            if(task.endTimeBegin){
                url += "&endTimeBegin="+task.endTimeBegin;
            }
            if(task.endTimeEnd){
                url += "&endTimeEnd="+task.endTimeEnd;
            }

        }

            // 发送请求
            axios.get(url)

                // then是一个函数，这个函数的参数也是一个函数
                .then(res=>{
                    console.log(res)
                    // 这里的res就是得到的结果，但是这个结果已经被Axios封装了
                    callBack(res.data)// 调用回调函数，将结果数据传入回调函数
                })

    },


    loadTaskByUserId(userId,callBack){
        if(userId){
            // 发送请求
            axios.get(baseURL + "/task/listByUserId?userId=" + userId)

                // then是一个函数，这个函数的参数也是一个函数
                .then(res=>{
                    console.log(res)
                    // 这里的res就是得到的结果，但是这个结果已经被Axios封装了
                    callBack(res.data)// 调用回调函数，将结果数据传入回调函数
                })
        }
    },




    saveTask(task,callBack){
        let url = baseURL + "/task/add"
        console.log(task)
        axios.post(url,task)
            .then(res=>{
                callBack(res.data);
            })
    },

    updateParentById(taskId,callBack){
        let url = baseURL + "/task/updateParent?taskId=" + taskId;

        axios.put(url)
            .then(res=>{
                callBack(res.data);
            })
    },

    updateTask(task,callBack){
        let url = baseURL + "/task/updateTask";

        axios.put(url,task)
            .then(res=>{
                callBack(res.data);
            })
    },

    updateTaskStatusById(taskId,callBack){
        let url = baseURL + "/task/deleteTask?taskId=" + taskId;
        console.log(taskId)
        axios.put(url)
            .then(res=>{
                callBack(res.data);
            })
    },

    deletes(taskIds,callBack){
        console.log(taskIds)
        let url;
        if (taskIds){
            taskIds.forEach(taskId=> url = baseURL + "/task/deletes");
        }
        axios.put(url,taskIds)
            .then(res =>{
                callBack(res.data);
            })
    }

}

// 将我们的请求对象暴露处理
export default taskRequest;